••javascript 有种5基本数据类型••
≥分别是:
≥number(数字类型)
≥string(字符串类型)
≥underfined(空类型)
≥null(空类型)
≥boolen(布尔值)
≥
≥
≥
≥ 1.number整数 可以通过10进制 8进制 16进制表示
≥
≥ 浮点数 该数值必须包含一个小数点,小数点后面必须有一位数字,如果小数点后只有0,自动转换成整数
≥
≥ 浮点数占据的空间内存是内存的两倍,极大极小的数字会用e科学表示法。
≥
≥ NaN
≥
≥ 1、即非数值,是一个特殊的值,这个数值用于表示一个本来要返回数值的操作数,未返回数值的情况。比如任何数值除≥以0,本是不符合规范的,js里,这样的操作返回NaN(但是实际上,只有0除以0时返回NaN,其他则无穷值)。
≥ 2、NaN有两个不同寻常的特点:任何涉及NaN的操作都会返回NaN,NaN值与任何值都不相等,包括本身。
≥ 3、isNaN()函数,这个函数可以判断,传递的参数是否“不是数值”这里涉及数值转换的问题,例如“10”这个字符串就≥可以转换为10,但是“blue”这个字符串则无法转换为数字,所以isNaN(“blue”)==true
≥
≥ Number() 可以 任何类型
≥
≥
≥
≥
≥ 2.string
≥ JavaScript 中 slice 、substr 和 substring的区别:
≥ 1: String.slice(start,end): 一个新的字符串。包括字符串 stringObject 从 start 开始(包括 ≥start)到 end 结束(不包括 end)为止的所有字符.
≥ 2: String.substring(start,end) 这个就有点特别了,它是先从start,end里找出一个较小的值. ≥然后从字符串的开始位置算起,截取较小值位置和较大值位置之间的
≥ 字符串,截取出来的字符串的长度为较大值与较小值之间的差。
≥ 一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 ≥处的所有字符,其长度为 stop 减 start。
≥ 3: String.substr(start,end) 这个就是我们常用的从指定的位置(start)截取指定长度(end)的字符串.
≥ 一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 lenght ≥个字符。如果没有指定 lenght,那么返回的字符串包含从 start
≥ 到 stringObject 的结尾的字符。
≥
≥ String 对象的方法 slice()、substring() 和 substr() (不建议使用)≥都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() ≥与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。
≥
≥
≥
≥
≥ 3.underfined和null
≥ JavaScript 中有两个特殊数据类型:undefined 和 null,下节介绍了 null 的判断,下面谈谈 undefined ≥的判断。
≥
≥ 以下是不正确的用法:
≥
≥ var exp = undefined;
≥ if (exp == undefined)
≥ {
≥ alert(“undefined”);
≥ }
≥
≥
≥ exp 为 null 时,也会得到与 undefined 相同的结果,虽然 null 和 undefined 不一样。注意:要同时判断 ≥undefined 和 null 时可使用本法。
≥
≥
≥
≥ var exp = undefined;
≥ if (typeof(exp) == undefined)
≥ {
≥ alert(“undefined”);
≥ }
≥
≥
≥ typeof ≥返回的是字符串,有六种可能:”number”、”string”、”boolean”、”object”、”function”、”undefined”
≥
≥
≥
≥ 以下是正确的用法:
≥
≥
≥
≥ var exp = undefined;
≥ if (typeof(exp) == “undefined”)
≥ {
≥ alert(“undefined”);
≥ }
≥ JS 中如何判断 null
≥
≥
≥ 以下是不正确的用法:
≥
≥
≥
≥ var exp = null;
≥ if (exp == null)
≥ {
≥ alert(“is null”);
≥ }
≥
≥
≥ exp 为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样。注意:要同时判断 ≥null 和 undefined 时可使用本法。
≥
≥
≥
≥ var exp = null;
≥ if (!exp)
≥ {
≥ alert(“is null”);
≥ }
≥
≥
≥ 如果 exp 为 undefined 或者数字零,也会得到与 null 相同的结果,虽然 null ≥和二者不一样。注意:要同时判断 null、undefined 和数字零时可使用本法。
≥
≥
≥
≥ var exp = null;
≥ if (typeof(exp) == “null”)
≥ {
≥ alert(“is null”);
≥ }
≥
≥
≥ 为了向下兼容,exp 为 null 时,typeof 总返回 object。
≥
≥ var exp = null;
≥ if (isNull(exp))
≥ {
≥ alert(“is null”);
≥ }
≥
≥
≥ JavaScript 中没有 isNull 这个函数。
≥
≥
≥ 以下是正确的用法:
≥
≥
≥
≥ var exp = null;
≥ if (!exp && typeof(exp)!=”undefined” && exp!=0)
≥ {
≥ alert(“is null”);
≥ }
≥
≥
≥
≥
≥ 4.boolean
≥ js中的boolean原始类型和Boolean引用类型
≥ js 代码
≥ 1. var bFound = true;
≥ 2. var bFlag = false;
≥ 如上面的两行代码,boolean类型是JavaScript中的一种原始类型,它只有两种值:true和false。 ≥使用Boolean(value)方法可以强制转换任意值为boolean类型 js 代码
≥ 1. alert(Boolean(‘’));
≥ 2. alert(Boolean(‘hello’));
≥ 3. alert(Boolean(100));
≥ 4. alert(Boolean(0));
≥ 5. alert(Boolean(NaN));
≥ 6. alert(Boolean(null));
≥ 7. alert(Boolean(undefined));
≥ 8. alert(Boolean(new Object()));
≥ //output true 可以看出,当被转换的值为空字符串、数字0和NaN、null或者undefined时,转换为false≥,其它情况转换为true。所以当我们写if判断的时候需要注意这些特殊的情况,尤其是使用目前比较流行的“对象探测≥法”书写JS时。 “对象探测法”主要写法如下: js 代码
≥ 1. var student = new Object();
≥ 2. if (student.name) {
≥ 3. alert(student.name);
≥ 4. } else {
≥ 5. student.name = ‘Tom’;
≥ 6. alert(student.name);
≥ 7. }
css回顾
常见的属性
css注释方式 /**/
css引入方式
内联似:优点:优先级高,不会被其他样式覆盖影响。缺点:不利于维护,没有样式的内容分离
内部引用:不利于复用,适于单一页面
外部:利于复用,内容分离。缺点:增加一次请求
1.margin边距属性
margin-top(设置顶边距)
margin-right(设置右边距)
margin-bottom(设置底边距)
margin-left(设置左边距)
2.padding填充距属性:
padding-top设置顶端真充距)
padding-right设置顶端真充距)
padding-bottom设置顶端真充距)
padding-left设置顶端真充距)
3.border(边框)
border-top-width(顶端边框宽度)
border-right-width(右端边框宽度)
border-bottom-width(底端边框宽度)
border-left-width(d左边框宽度)
border-width(一次定义边框宽度)
border-color(设置边框颜色)
border-style(设置边框样式)
border-top(一次定义顶端各种属性)
border-right(一次定义右端各种属性)
border-bottom(一次定义底端各种属性)
border-left(一次定义左端各种属性)
width(定义宽度属性)
height(定义高度属性)
float(文字环绕在一个元素的四周)
clear(定义某一边是否有环绕)
solid /实线框/
dotted /虚线框/
double /双线框/
groove /立体内凸框/
ridge /立体浮雕框/
inset /凹框/
outset /凸框/
4.定位(position) 即层属性
Type:设定对象的定位方式。
有三种方式:Absolute(绝对定位)、Relative(相对定位)、Static(无特殊定位)。相对应的CSS属性是”position”。
Overflow:设置如果层的内容超出了层的大小时如何处理。有四种处理方式:visible,增加层的大小,从而将层的所有内容显示出来;hidden,保持层的大小不变,将超出层的内容剪裁掉;Scroll,总是显示滚动;Auto,只有在内容超出层的边界时才显示滚动条。相对应的CSS属性是”overflow”。 Placement:设置对象定位层的位置和大小。可以分别设置left(左边定位)、top(顶部定位)、width(宽)、height(高)。相对应的CSS属性分别是”left; top; width; height”。Clip:定义定位层的可视区域。区域外的部分为不可视区,为透明的。可以理解为在定位层上放一个矩形遮罩的效果。相对应的CSS属性是”clip”。
5.font(字体)
font-family(使用什么字体)
font-style(字体的样式,是否斜体):normal/italic/oblique
font-variant(字体大小写):normal/small-caps
font-weight(字体的粗细):normal/bold/bolder/lithter
font-size(字体的大小):absolute-size/relative-size/length/percentage
6定义超链接:
a:link {color:green;text-decoration:nore}(未访问过的状态)
a:visited {color:ren;text-decoration:underline;16pt}(访问过的状态)
a:hover {color:blue;text-decoration:underline;16pt}(鼠标激活的状态)
a:active
z-index
Z-Index:设置对象的层叠顺序。编号较大的层会显示在编号较小的层上边。变量值可以是正值也可以是负值。相对应的CSS属性是”z-index”。
##overflow
Overflow:设置如果层的内容超出了层的大小时如何处理。有四种处理方式:visible,增加层的大小,从而将层的所有内容显示出来;hidden,保持层的大小不变,将超出层的内容剪裁掉;Scroll,总是显示滚动;Auto,只有在内容超出层的边界时才显示滚动条。相对应的CSS属性是”overflow”。 Placement:设置对象定位层的位置和大小。可以分别设置left(左边定位)、top(顶部定位)、width(宽)、height(高)。相对应的CSS属性分别是”left; top; width; height”。Clip:定义定位层的可视区域。区域外的部分为不可视区,为透明的。可以理解为在定位层上放一个矩形遮罩的效果。相对应的CSS属性是”clip”。
鼠标光标样式:
链接手指 CURSOR: hand
十字体 cursor:crosshair
箭头朝下 cursor:s-resize
十字箭头 cursor:move
箭头朝右 cursor:move
加一问号 cursor:help
箭头朝左 cursor:w-resize
箭头朝上 cursor:n-resize
箭头朝右上 cursor:ne-resize
箭头朝左上 cursor:nw-resize
文字I型 cursor:text
箭头斜右下 cursor:se-resize
箭头斜左下 cursor:sw-resize
漏斗 cursor:wait
html知识点
>
- html基本格式
<html> <head> <meta charset="utf-8"/> <title></title> <link rel="stylesheet" type="text/css" href="css"/> </head> <body> </body> </html> - 标签
h1~h6标签 特点字体加粗 从h1开始字体越来越小 用于标题 有默认的margin
p标签 特点用于段落一般与h标签一起的 有默认的margin
div span标签 没有任何语义 一个是块级标签 一个行级标签 布局实用的最多的
strong标签 特点 字体加粗 特别强调
em标签 特点 强调 斜体
a标签 特点 超链接 有href属性(必须的) title属性 target如果在一个 a 标签内包含一个 target 属性,浏览器将会载入和显示用这个标签的 href 属性命名的、名称与这个目标吻合的框架或者窗口中的文档。如果这个指定名称或 id 的框架或者窗口不存在,浏览器将打开一个新的窗口,给这个窗口一个指定的标记,然后将新的文档载入那个窗口。从此以后,超链接文档就可以指向这个新的窗口。
del标签 定义删除字
small 小字体
br 换行标签 单标签
- br:
<body> <div>中华</br>人命共和国</div> </body> - hr 分割线标签 单标签
- hr:
<body> <div>中华</hr>人命共和国</div> </body> video 标签定义视频,比如电影片段或其他视频流。
base 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 a、img、link、form 标签中的 URL。必须位于 head 元素内部。
base标签写法:
<head> <base href="http://www.w3school.com.cn/i/" /> <base target="_blank" /> </head> <body> <img src="eg_smile.gif" /> <a href="http://www.w3school.com.cn">W3School</a> </body>b标签这是粗体文本
address 标签定义文档或文章的作者/拥有者的联系信息。
如果 address 元素位于 body 元素内,则它表示文档联系信息。
如果 address 元素位于 article 元素内,则它表示文章的联系信息。
address 元素中的文本通常呈现为斜体。大多数浏览器会在 address 元素前后添加折行。big标签呈现大号字体效果。
q 标签定义短的引用。
- q标签:
<body> <div>中华<q>人命共和</q>国</div> </body> - blockquote 标签定义长的引用。
- blockquote 用法和q一样
style 标签用于为 HTML 文档定义样式信息。
列表
- 无序列表 ul li ul有默认margin和padding
无序列表格式
<ul> <li></li> <li></li> </ul>有序列表 ol li ol有默认margin和padding
- 有序列表格式
<ol> <li></li> <li></li> </ol> 自定义列表 dl dt dd
自定义格式:
<dl> <dt></dt> <dd></dd> <dt></dt> <dd></dd> </dl>- 表格
table tbody这个标签基本上不怎么用了
tr 表格的一行
th 表格的头部的一个单元格,表格表头
td 表格的一个单元格
caption 表格标题
summary属性 表格的摘要
基本格式
<table> <tr> <td></td> </tr> </table>内可以加多个.
打地鼠
><!DOCTYPE html>//打地鼠的Html
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" type="text/css" href="index.css"/>
</head>
<body>
<div class="beijing">
<div class="defen">0</div>
<div class="tiao"></div>
<div class="ting">暂停</div>
<div class="kai">继续</div>
<div class="chonglai">重新开始</div>
<div class="open"><a href="#">开始</a></div>
<div class="zailai"><a href="#"></a></div>
<img src="img/h0.png" alt="huitai"/>
</div>
<script type="text/javascript" src= "wode.js"></script>
<!-- <script type="text/javascript" src= "index.js"></script> -->
</body>
</html>
//打地鼠的js
var defen = document.querySelector('.defen');
var tiao = document.querySelector('.tiao');
var open = document.querySelector('.open a');
var yi = document.querySelector('.open');
var zailai = document.querySelector('.zailai');
var img = document.querySelector('img');
var ting = document.querySelector('.ting');
var kai = document.querySelector('.kai');
var chonglai = document.querySelector('.chonglai');
var width = tiao.offsetWidth;
(function(){
open.onclick = function(){//点击开始
open.style.display = "none";
function hello(){
test = setInterval(function(){
width = width - 0.18;
if(width <=0){
width = 0;
clearInterval(test);
open.style.display = "block";
yi.style.left = "68px";
zailai.innerHTML = '<a href="index.html">再来一局</a>';
zailai.style.left = "90px";
open.innerHTML = 'gime over';
clearInterval(test1);
}
tiao.style.width = width +'px';
},30)
}
hello();
var pos = [{t:157,l:11},//灰太狼位置
{t:217,l:11},
{t:291,l:19},
{t:292,l:200},
{t:209,l:190},
{t:139,l:181},
{t:112,l:90},
{t:188,l:97},
{t:270,l:110}];
function kaishi(){
test1 = setInterval(function(){
var log = random(0,8);//随机出现位置
name = random(0,100)< 80 ? "h":"x";//灰太狼小灰灰出现的几率
img.style.left = pos[log].l+'px';
img.style.top = pos[log].t+'px';
img.style.display = 'block';
img.index = 0;
test2 = setInterval(function(){//灰太狼出现
img.index++;
if(img.index>=5){
img.index = 5;
clearInterval(test2)
}
img.src = 'img/'+name+img.index +'.png';
},30)
test3 = setTimeout(function(){//灰太狼下去
test4 = setInterval(function(){
img.index--;
if(img.index <=0){
img.index = 0;
img.style.display = "none";
clearInterval(test4);
}
img.src = 'img/'+name + img.index +'.png';
},30)
},700)
},1000)
}
kaishi();
var num = 0;
var first =true;
if(name =="h"){//加分
img.src = 'img/h6'+'.png';
num +=10;
}
if(name =="x"){//减分
img.src = 'img/x6'+'.png';
num -=10;
}
if(num <=0){//没有分的时候
num = 0;
}
defen.innerHTML = num +'分';
}
ting.onclick = function(){//暂停
clearInterval(test);
clearInterval(test1);
ting.style.display = 'none';
kai.style.display = 'block';
img.src = 'img/'+name+img.index +'.png';
// chonglai.style.display = 'block';
}
kai.onclick = function(){//继续
ting.style.display = 'block';
kai.style.display = 'none';
hello();
kaishi();
}
}
})();
function random(x,y){
return Math.round(Math.random()*(y-x)+x);
}
希望大家帮忙改一下
js声明函数和函数表达式
说函数之前先讲一下浏览器解析js前先做的事
1.把变量,函数表达式的声明提到当前作用域的顶端
2把函数赋值
声明函数:是使用function关键字加函数名声明的函数
function fn(){
console.log(123);
}
函数表达式:就是使用function关键字,没有函数名赋值给一个变量的函数,就是使用function关键字但是没有函数名的函数。
var b = function(){
console.log(456);
}
()表示执行
声明函数和函数表达式的区别:
函数表达式可以使用()操作符立即执行,函数声明不可以。
(function fn(){
console.log(123);
})();
()();第一个()把匿名函数定义成函数表达式,第二个()表示执行,如上。
给大家讲一下作用域的问题:
全局变量可以在任何地方访问。
函数内部的变量,对外部是不可见的。
函数内部可以访问外部的变量。
在函数里,每个函数都有一个默认返回值undefined
js从零开始
js的引入方法有3种,和css一样,推荐用外部引入的方法:src是一个请求,穿插到HTML里面。
var 变量,作用:声明变量,保存数据和性息用的
onclick:点击,也就是点击过后的样式
onmuseover:鼠标在上面时的样式
onmuseout:鼠标移除后的样式
arr:数组
alert:在浏览器里弹出,缺点明显,不易调试
console.log():和alert一样是调试用的,在审查元素里能找到
string字符串
number数字类型
boolear布尔值
null空类型
underfined空类型
object对象类型
=是赋值==比较,是否相等
NaN非数字
运算符:++加 –减 *乘 %取模
关系运算符:< > <= !==不全等
相等运算符:==相等 !=不想等 ===全等;
for循环的基本格式
for (var i = 0; i < Things.length; i++) {
Things[i]
};
if的基本格式if(i>0){
i=xx;
};
HTML引入css和js的基本格式
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<link rel="stylesheet" type="text/css" href="css/ reset.css"/>
<link rel="stylesheet" type="text/css" href="css/ index.css"/>外部引入css
</head>
<body>
<div style="">引入css行间样式
</div>
<script type="text/javascript" src="js/ index.js"></script>外部引入js
</body>
</html>
css的标签和属性
我是一个初学者,希望大神点拨点拨
学了一个多月了,想看看自己还记得学到了那些东西。
1.行标签:a img span em big small del strong
2.块标签:p div body hi~h6 ol li dl
属性 display:none block inline inline-block
属性 background:url() color repeat x y
属性 border:solid dotted dashed color width -radius上下左右
属性 margin-padding:trbl法则
属性 width-height
属性 text-align:cencer lift right
属性 line-height:top bottom center
属性 over-flow:hidden scrolli
属性 float:left right
属性 font:size famaily
属性 input:possword radio text reuset
a标签的属性 :hover link active visited
图片连接(img src=”#“ alt=”” titie=””>
css的引入方式外部引入link type href内部引入行间样式style
以上就是我学了这么久在css上学到的,也能这HTML里面实现的,可能有错误,希望大家更改一下